home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / GENCSRC.ZIP / COMPILER.DOC < prev    next >
Text File  |  1987-11-21  |  33KB  |  880 lines

  1. Coronado Enterprises C TUTOR                Nov 21, 1987
  2.  
  3. COMPILER.DOC file
  4.  
  5. Notes on a few C compilers.
  6.  
  7.      It is assumed that you have a C compiler and that you have
  8. somehow learned to use it.  Some helping hints are given below
  9. for some of the more popular compilers and even if your partic-
  10. ular compiler is not listed, some of the hints given for other
  11. compilers may help you with yours.  Some standards do tend to
  12. exist within compilers and compiler writers tend to do things
  13. basically the same way.  If notes are not given below about your
  14. compiler, we at Coronado Enterprises will be unable to help.  We
  15. have listed notes on all of the compilers we have available for
  16. evaluation or use.  These notes are not intended to be exhaustive
  17. or used as the basis for a final decision on your part to select
  18. a given compiler.  Exhaustive notes and evaluations are given
  19. regularly in computer publications.  If you are undecided as to
  20. which compiler you should use, you are directed to these.
  21.  
  22. ******************************************************************
  23.  
  24. The following compilers have been tested on all files in chapters
  25. 1 through 13 and the results are noted.
  26.  
  27.  
  28. 1. Borland Turbo C - Version 1.00  This compiler may be the best
  29.       available at the price.  It is certainly worth the price to
  30.       purchase it for learning the language.  It is extremely flex-
  31.       ible and easy to use once it is set up properly on your com-
  32.       puter.  Follow the notes below to set it up since the users
  33.       guide is extremely confusing concerning setup.
  34.  
  35. 2. Computer Innovations C86 compiler version 2.30J
  36.       This is a very large but capable compiler that you should
  37.       have a hard disk to use.  It is about two years old at this
  38.       writing but a newer version should be available with even
  39.       more capability.
  40.  
  41. 3. Ecosoft C compiler - ver 3.14    This compiler sells for only
  42.       $59.95 and is as complete a compiler as you can find if you
  43.       only need a small memory model.  Their small model uses 64K
  44.       for program and another 64K for data, so the limitation is
  45.       not very severe, and this compiler should meet nearly all
  46.       of your needs.
  47.  
  48. 4. Lattice C compiler - version 3.00      This is a very capable
  49.       compiler that still has the ability to be run conveniently
  50.       with only two floppy disks.  If you want a high end compiler
  51.       to use on a dual floppy machine, this is probably your best
  52.       choice.  The documentation is nearly worthless, and you will
  53.       be left with a mess trying to get it set up until you gain
  54.       some experience programming in C.
  55.  
  56. 5. Mark Williams Let's C Version 3.0.2  This is a relatively
  57.       inexpensive compiler that makes only a small memory model,
  58.       but is certainly adequate for learning to program in C.
  59.       This version is rather old and has been updated, but this
  60.       is the only copy available for test and evaluation at this
  61.       time.
  62.  
  63. 6. Microsoft C compiler - version 3.0
  64. 7. Microsoft C compiler - version 4.0
  65. 8. Microsoft C compiler - version 5.0  These three compilers are
  66.       absolutely top of the line compilers and would make an
  67.       excellent choice if you will be engaged in very serious
  68.       programming.  The only difference in the three are the
  69.       number of features available, but any of them would be
  70.       excellent for use in learning to program in C.  Version
  71.       4.0 and 5.0 have codeview available and version 5.0 allows
  72.       the "modern" method of function definitions.  All three
  73.       compile to very fast, compact code but any of the three
  74.       should be used only with a hard disk, since floppy disk
  75.       use would require much disk swapping.
  76.  
  77. 9. Microsoft Quick-C - version 1.00   This is an excellent com-
  78.       piler that should do everything you ever need to do short
  79.       of a full commercial development project.  It is extrememly
  80.       fast compiling and running, and the only thing that seems
  81.       to be missing is the optimization that the Optimizing C
  82.       compiler does.  It is very easy to use and is well worth
  83.       the price.
  84.  
  85. 10. Mix C Compiler ver 1.0.0  Mix has been advertising a newer
  86.       version of this compiler for only $19.95 and although it
  87.       has some limitations, it would be excellent for learning
  88.       to program in C.
  89.  
  90. ************** Borland Turbo C - version 1.00 **********************
  91.    Borland  International
  92.    4585 Scotts Valley Drive
  93.    Scotts  Valley, CA 95066
  94.  
  95. Due to the ease of use of the Integrated Environment version of
  96. Turbo C, It will be used exclusively by this tutorial.  You can
  97. use the Command Line version of Turbo C with this tutorial, but
  98. all notes in the tutorial will describe use of the Integrated
  99. Environment version.
  100.  
  101. All of the files in the Coronado Enterprises Turbo C tutorial are
  102. designed to work with the Turbo C compiler with all options left
  103. in the default mode (ie - the way the compiler comes from the
  104. factory), and any changes may affect the way some of the example
  105. programs work.
  106.  
  107.  
  108.  
  109. *** Turbo C ****** Suggested Hard Disk Setup *********************
  110. The Turbo C User's Guide has complete instructions describing
  111. how to set up your system for proper use.  Following the direc-
  112. tions given will result in the following directory setup if you
  113. are using a hard disk.  Some of the files have been omitted in
  114. this suggested setup to reduce the clutter in the TURBOC directory.
  115. This will reduce the confusion over extra files as you work your
  116. way through the tutorials.
  117.  
  118.  
  119.    Turbo C disk 1 - INTEGRATED DEVELOPMENT ENV.
  120.    Turbo C disk 2 - COMMAND LINE/UTILITIES
  121.    Turbo C disk 3 - HEADER FILES/LIBRARIES/EXAMPLES
  122.    Turbo C disk 4 - LIBRARIES/EXAMPLES
  123.  
  124. C:\TURBOC\
  125.     TC.EXE                  /* From Turbo C disk 1              */
  126.     TCCONFIG.TC             /* You make this file - See below   */
  127.     TCHELP.TCH              /* From Turbo C disk 1              */
  128.     *.*                     /* From Turbo C Tutor SOURCE disk   */
  129.  
  130. C:\TURBOC\INCLUDE\
  131.     *.H                     /* From Turbo C disk 3              */
  132.  
  133. C:\TURBOC\INCLUDE\SYS\
  134.     STAT.H                  /* From Turbo C disk 3 \SYS\ subdir.*/
  135.  
  136. C:\TURBOC\LIB\
  137.     *.OBJ                   /* From Turbo C disk 3              */
  138.     *.LIB                   /* From Turbo C disk 3              */
  139.     *.OBJ                   /* From Turbo C disk 4 - optional   */
  140.     *.LIB                   /* From Turbo C disk 4 - optional   */
  141.  
  142. The *.OBJ and *.LIB files from disk 4 are needed only if you wish
  143. to use additional memory models.  You only need the "Small" memory
  144. model to run all of the programs included in the Coronado Enter-
  145. prises C tutorial.
  146.  
  147. After creating the subdirectories listed above and loading them
  148. with the files listed, change to the TURBOC directory and create
  149. the TCCONFIG.TC file by following these instructions (note that
  150. the instructions are given on page 16 of the Turbo C User's guide
  151. but they are somewhat cryptic for the beginner).
  152.  
  153. 1.   TC<return>                  This loads the TURBO-C compiler
  154. 2.   O                           Selects "Options"
  155. 3.   E                           Selects "Environment"
  156. 4.   I                           Selects "Include directories"
  157. 5.   \TURBOC\INCLUDE<return>     Sets directory for include files
  158. 6.   L                           Selects "Library directory"
  159. 7.   \TURBOC\LIB<return>         Sets directory for library files
  160. 8.   <Esc>                       Returns to "Options" menu
  161. 9.   S                           Selects "Store options"
  162. 10.  <return>                    Stores file named "TCCONFIG.TC"
  163. 11.  <Esc>                       Return to the TURBO-C main menu
  164.  
  165.  
  166.  
  167.  
  168. To run your first program.  (This assumes FIRSTEX.C has been copied
  169. into the \TURBOC\ directory from the tutorial SOURCE disk.)
  170.  
  171. 1.   TC<return>                  Loads the Turbo C compiler
  172. 2.   F                           Selects "Files"
  173. 3.   L                           Selects "Load"
  174. 4.   <return>                    Lists all files *.C
  175. 5.   Position cursor on FIRSTEX.C
  176. 6.   <return>                    Loads FIRSTEX.C
  177. 7.   Alt-R                       Compiles and runs FIRSTEX
  178.  
  179.  
  180.  
  181.  
  182.  
  183. *** Turbo C **** Suggested Dual Floppy Disk Setup *****************
  184.  
  185. The Turbo C User's Guide has very sketchy information on how to set
  186. up the system for use from two floppies so the following information
  187. is given to get you started.  As you gain experience with the C lan-
  188. guage, you can add features and move files around to make it more
  189. convenient to use.  The setup given here will result in the source
  190. files and executable files residing on drive B.  You will develop a
  191. more convenient system soon, but this setup will get you started.
  192. You will find that you will have to stop often and erase the *.OBJ
  193. and the *.EXE files that are generated by Turbo C or your disk will
  194. fill up with these extra files.
  195.  
  196. Format a disk with the system on it (ie - FORMAT A:/S) and put the
  197. following files on it for your drive A disk.
  198.  
  199.     TC.EXE                  /* From Turbo C disk 1              */
  200.     TCCONFIG.TC             /* You make this file - see below   */
  201.     TCHELP.TCH              /* From Turbo C disk 1              */
  202.                             /* Note - You will probably have    */
  203.                             /* room for an AUTOEXEC.BAT file on */
  204.                             /* this disk also.                  */
  205.  
  206.  
  207. Format a disk without the system, make the following directories
  208. on it, and add the following files to it in their respective dir-
  209. ectories. This will be the disk for drive B.  You will put a few
  210. of the source files from the Coronado Enterprises tutorial on this
  211. disk in the root directory.
  212.  
  213. \
  214.     *.C                     /* From the Turbo C Tutor SOURCE disk */
  215.  
  216. \INCLUDE\
  217.     *.H                     /* From Turbo C disk 3                */
  218.  
  219. \INCLUDE\SYS\
  220.     STAT.H                  /* From Turbo C disk 3                */
  221.  
  222. \LIB\
  223.     COS.OBJ                 /* From Turbo C disk 3                */
  224.     CS.LIB                  /* From Turbo C disk 3                */
  225.     EMU.LIB                 /* From Turbo C disk 3                */
  226.     FP87.LIB                /* From Turbo C disk 3                */
  227.     MATHS.LIB               /* From Turbo C disk 3                */
  228.  
  229.  
  230. After creating the disks as listed above, install the disks in
  231. drive A and drive B and boot up the computer on drive A.  You
  232. must then create the TCCONFIG.TC file by following these instruc-
  233. tions (note that the instructions are given on page 14 of the Turbo
  234. C User's guide but they are somewhat cryptic for the beginner).
  235.  
  236.  
  237. 1.   TC<return>                  This loads the TURBO-C compiler
  238. 2.   O                           Selects "Options"
  239. 3.   E                           Selects "Environment"
  240. 4.   I                           Selects "Include directories"
  241. 5.   B:\INCLUDE<return>          Sets directory for include files
  242. 6.   O                           Selects "Output directory"
  243. 7.   B:\<return>                 Sets directory for output files
  244. 8.   L                           Selects "Library directory"
  245. 9.   B:\LIB<return>              Sets directory for library files
  246. 10.  <Esc>                       Returns to "Options" menu
  247. 11.  S                           Selects "Store options"
  248. 12.  <return>                    Stores file named "TCCONFIG.TC"
  249. 13.  <Esc>                       Return to the TURBO-C main menu
  250. 14.  F                           Selects the "File" menu
  251. 15.  L                           Selects the "Load" submenu
  252. 16.  B:*.C<return>               Selects the B drive for files
  253. 17.  <Esc>                       Return to the "File" menu
  254. 18.  <Esc>                       Return to the TURBO-C main menu
  255.  
  256. Note that steps 14 through 16 must be performed once each time the
  257. Turbo C system is started to tell the system where to find the
  258. working files.
  259.  
  260. To run your first program.  (This assumes FIRSTEX.C has been copied
  261. into the root directory from the tutorial SOURCE disk.)  Load the
  262. two disks into the computer and boot up the system.
  263.  
  264. 1.   TC<return>                  Loads the Turbo C compiler
  265. 2.   F                           Selects "Files"
  266. 3.   L                           Selects "Load"
  267. 4.   B:*.C<return>               Lists all files *.C
  268. 5.   Position cursor on FIRSTEX.C
  269. 6.   <return>                    Loads FIRSTEX.C
  270. 7.   Alt-R                       Compiles and runs FIRSTEX
  271.  
  272.  
  273.  
  274.  
  275. *** Turbo C ***** Suggested Single Floppy Disk Setup ****************
  276.  
  277. In order to use the Turbo C compiler with a single floppy disk,
  278. set up two disks as noted for the Dual Floppy Disk system.  Use the
  279. disk designated for drive A above to boot up the computer and perform
  280. steps 1 through 13 given above, leaving off the drive designation for
  281. drive B in steps 5, 7, 9, and 16.
  282.  
  283. To run the system, use the disk designated for drive A for booting
  284. and loading the TC system, then install the other disk as the work-
  285. ing disk.  You will have all of the capabilities of the dual drive
  286. system except for the "HELP" facility and the ability to run an oper-
  287. ating system shell from within the Turbo C Integrated environment.
  288.  
  289.  
  290.  
  291. ********** Computer Innovations C86 compiler version 2.30J *******
  292.    Computer Innovations Inc.
  293.    980 Shrewsbury Ave, Suite 310,
  294.    Tinton Falls, NJ 07724
  295.  
  296. All files were put into a single directory along with the files from
  297. the Coronado Enterprises SOURCE disk to compile and run the example
  298. C programs.  A batch file "CC.BAT" is provided as an aid to compile
  299. and run the example programs.
  300.  
  301. Comments on running the example C programs
  302.  
  303. Chapter 5  SCOPE.C - Prototyping is not supported, so this program
  304.                      will not compile.
  305.            BACKWARD.C - Prototyping is not supported.
  306.            FLOATSQ2.C - Prototyping is not supported.
  307.  
  308. Chapter 6  ENUM.C - Enumerated types are not supported by this
  309.                     compiler.
  310.  
  311. Chapter 9  SINGLEIO.C - getch() not supported.
  312.            BETTERIN.C - getch() not supported.
  313.  
  314. Chapter 11 STRUCT2.C - Structure assignment is not supported so
  315.                   remove line 22.
  316.            STRUCT3.C - Remove line 29 and 30.
  317.            UNION1.C - The bytes have ff in high order bits if the
  318.                   MSB of the byte is on.  Refer to text about this.
  319.  
  320. Chapter 13 BITOPS.C - The bytes have ff in high order bits if the
  321.                   MSB of the byte is on.
  322.  
  323. Chapter 14 None of the programs in this chapter were compiled with
  324.             the Computer Innovations C86 C compiler.
  325.  
  326.  
  327.  
  328. ************** Ecosoft C compiler - version 3.14 ********************
  329.    Ecosoft Inc.
  330.    6413 N. College Ave
  331.    Indianapolis, IN 46220
  332.  
  333.     (recommended setup)
  334. Exactly as listed in the manual - The documentation is excellent and
  335. very clear.  Only the hard disk setup was tested.
  336.  
  337.      (start of batch file used - CCL.BAT)
  338. IF EXIST %1 GOTO ERROR
  339. CED %1.C
  340. CC %1
  341. IF ERRORLEVEL 1 GOTO CLERR
  342. %1
  343. ERASE %1.EXE
  344. ERASE %1.OBJ
  345. ERASE %1.BAK
  346. GOTO DONE
  347.  
  348. :ERROR
  349. REM DO NOT INCLUDE THE .C EXTENSION
  350. PAUSE
  351. GOTO DONE
  352.  
  353. :CLERR
  354. REM COMPILE OR LINK ERROR
  355. PAUSE
  356.  
  357. :DONE
  358.     (end of batch file used)
  359.  
  360.  
  361. Required changes for use with Ecosoft C compiler - ver 3.14
  362.  
  363. Note; During compilation of a few of the files you will get a small
  364.       number of warnings.  These warnings are obvious and are meant
  365.       to be an aid to you in discovering possible errors in your code.
  366.       One of the most obvious is when a floating point number is
  367.       assigned to an integer.  This is done as an illustration for
  368.       you, but the compiler generates a warning and continues.  The
  369.       fact that this happens is a positive vote for this compiler.
  370.       You should set the "picky bit" to 9 while you are running these
  371.       programs to get used to the compilers elaborate warnings.
  372.  
  373. Chapter 11 - UNION1.C  The bytes have ff in the high order bits if
  374.             the MSB is on.  Refer to text about this.
  375.  
  376. Chapter 11 - BITFIELD.C  This compiler does not support bitfields.
  377.  
  378. Chapter 12 - All three files.  Add the line #include "malloc.h" to
  379.             the beginning of each file.  This will define the type
  380.             of return malloc will generate and will allow the pro-
  381.             grams to operate as described.  Ecosoft is very picky
  382.             about the constructs used, and requires the header to
  383.             check for problems.
  384.  
  385. Chapter 13 - BITOPS.C  The bytes have ff in the high order bits if
  386.             the MSB is on.  Refer to text about this.
  387.  
  388. Chapter 14 - None of these files have been compiled with this com-
  389.              piler.
  390.  
  391.  
  392.  
  393.  
  394. ************** Lattice C compiler - version 3.00 ********************
  395.    Lattice Incorporated
  396.    2500 S. Highland Ave.
  397.    Lombard, IL 60148
  398.  
  399. Note; The following suggested setup only uses the small memory and
  400.       program model which is sufficient for nearly all of your
  401.       programming needs.  It is suggested that you simply use this
  402.       configuration and as you gain experience with C, add some of
  403.       the other features.
  404.  
  405.       (suggested floppy disk setup)
  406.   Contents of Drive A
  407. COMMAND.COM
  408. CCL.BAT          (as listed below)
  409. EDIT.COM         (your editor, whatever you use)
  410. STDIO.H          (From the Lattice disks)
  411. DOS.H            (From the Lattice disks)
  412. CTYPE.H          (From the Lattice disks)
  413. *.C              (the files you wish to compile)
  414. CS.OBJ           (From the Lattice disks)
  415.  
  416.   Contents of Drive B
  417. LC1.EXE          (From the Lattice disks)
  418. LC2.EXE          (From the Lattice disks)
  419. LINK.EXE         (must be IBM version 2.1 or later)
  420. LCMS.LIB         (From the Lattice disks)
  421. LCS.LIB          (From the Lattice disks)
  422.  
  423.      (suggested hard disk setup)
  424. Put all above files in one directory, and remove the references to
  425. drive B in the batch file below.
  426.  
  427.  
  428.       (start of batch file CCL.BAT)
  429. REM C COMPILER, LATTICE VERSION 3.00
  430. IF EXIST %1 GOTO EXTERR
  431. REM THE NEXT LINE CALLS WHATEVER SCREEN EDITOR YOU USE
  432. EDIT %1.C
  433. B:LC1 %1
  434. IF ERRORLEVEL 1 GOTO P2ABT
  435. B:LC2 %1
  436. IF ERRORLEVEL 1 GOTO WAIT
  437. REM THIS IS THE C LINKER
  438. B:LINK CS+%1,%1,NUL,B:LCMS+B:LCS;
  439. IF ERRORLEVEL 1 GOTO LKERFND
  440. REM THE NEXT LINE IS THE EXECUTION CALL
  441. %1
  442. PAUSE
  443. ERASE %1.EXE
  444. ERASE %1.OBJ
  445. ERASE %1.BAK
  446. GOTO DONE
  447.  
  448. :EXTERR
  449. REM YOU PROBABLY INCLUDED THE .C EXTENTION, DO NOT INCLUDE IT
  450. REM IT WILL CAUSE THE LINKER STEP TO FAIL
  451. PAUSE
  452. GOTO DONE
  453.  
  454. :LKERFND
  455. REM LINK ERROR(S) FOUND
  456. PAUSE
  457. GOTO DONE
  458.  
  459. :P2ABT
  460. REM PASS 2 ABORTED DUE TO PASS 1 ERRORS
  461. PAUSE
  462. GOTO DONE
  463.  
  464. :WAIT
  465. REM PASS 2 ERROR(S) FOUND
  466. PAUSE
  467. :DONE
  468.     ( end of batch file used )
  469.  
  470. The following problems were found when using the Lattice C
  471.  compiler (version 3.00) on the files included on this disk.
  472.  
  473. Chapter 5 - FLOATSQ.C  Warning 85: function return value mismatch
  474.              This appears to be a bug in the compiler but it
  475.              doesn't affect the operation of the program.
  476.  
  477. Chapter 11 - NESTED.C  Add the following line as the first line of
  478.              the program to increase the internal stack size.
  479.                 int _stack = 4000;
  480.  
  481. Chapter 11 - UNION1.C   The bytes have ff in high order bits if
  482.              the MSB of the byte is on.  Refer to text about this.
  483.  
  484. Chapter 13 - BITOPS.C   The bytes have ff in high order bits if
  485.              the MSB of the byte is on.
  486.  
  487. Note that none of the programs in chapter 14 have been run with
  488.   this compiler.  The programs with prototyping, and the programs
  489.   ENUM.C, and BITFIELDS.C have not been run with this compiler.
  490.  
  491.  
  492.  
  493. ************* Mark Williams Let's C Version 3.0.2 *****************
  494.    Mark Williams Co.
  495.    1430 West Weightwood Ave
  496.    Chicago, IL 60614
  497.  
  498. All files were put into a single directory along with the files from
  499. the Coronado Enterprises SOURCE disk to compile and run the example
  500. C programs.
  501.  
  502. rem     batch file used with this compiler
  503. edit %1.c  (or whatever editor you use)
  504. cc -f %1.c
  505. %1
  506. pause
  507. erase %1.bak
  508. erase %1.exe
  509. erase %1.o
  510. rem     end of batch file
  511.  
  512. Comments on running the example C programs with Let's C
  513.  
  514. Chapter 5  SCOPE.C - Prototyping is not supported, so this program
  515.                      will not compile.
  516.            BACKWARD.C - Prototyping is not supported.
  517.            FLOATSQ2.C - Prototyping is not supported.
  518.  
  519.  
  520. Chapter 9  SINGLEIO.C - getch() not supported.
  521.            BETTERIN.C - getch() not supported.
  522.  
  523. Chapter 11 UNION1.C - The bytes have ff in high order bits if the
  524.  
  525.                   MSB of the byte is on.  Refer to text about this.
  526.  
  527. Chapter 13 BITOPS.C - The bytes have ff in high order bits if the
  528.                   MSB of the byte is on.
  529.  
  530. Chapter 14 None of the programs in this chapter were compiled with
  531.             the Mark Williams Let's C compiler.
  532.  
  533.  
  534.  
  535. ******************** Microsoft Version 3.00 *************************
  536.    Microsoft Corporation
  537.    Box 97017
  538.    Redmond, WA 98073
  539.  
  540.    (recommended setup)
  541. Exactly as listed in the manual - The documentation for this compiler
  542. is very clear, and if you follow the instructions as given by Micro-
  543. soft, you will have no problem configuring your system.
  544.  
  545.    (start of batch file used )
  546. IF EXIST %1 GOTO NOEXT
  547. EDIT %1.C
  548. MSC %1;
  549. IF ERRORLEVEL 1 GOTO ERROR
  550. LINK %1;
  551. IF ERRORLEVEL 1 GOTO ERROR
  552. %1
  553. PAUSE
  554. ERASE %1.EXE
  555. ERASE %1.OBJ
  556. ERASE %1.BAK
  557. GOTO DONE
  558.  
  559. :NOEXT
  560. REM DO NOT INCLUDE THE .C EXTENSION
  561. PAUSE
  562. GOTO DONE
  563.  
  564. :ERROR
  565. REM COMPILE OR LINK ERROR FOUND
  566. PAUSE
  567.  
  568. :DONE
  569.    ( end of batch file )
  570.  
  571. Note; The above batch file assumes a hard disk is being used.
  572.  
  573.  
  574.  
  575. Required changes for use with Microsoft C ver 3.0
  576.  
  577. Chapter 5 - SCOPE.C  This compiler does not support the "modern"
  578.             method of function definition.  Remove the reserved
  579.             word "void" from within the parentheses on lines
  580.             26, 34, and 44.
  581.  
  582. Chapter 5 - BACKWARD.C  This compiler does not support the "modern"
  583.             method of function definition.  Remove the variable
  584.             names from line 5 and change line 18 to the "classical"
  585.             method of function definition.
  586.  
  587. Chapter 5 - FLOATSQ2.C  This compiler does not support the "modern"
  588.             method of function definition.  Ignore this file since
  589.             it is the same as FLOATSQ.C with "modern" function
  590.             definitions.
  591.  
  592. Chapter 6 - ENUM.C   You will get a couple of warnings that you
  593.             can ignore.
  594.  
  595. Chapter 10 - READTEXT.C  Apparently the system clears the buffer
  596.              before reading into it, so it only outputs an extra
  597.              blank line instead of the word "lines." as described
  598.              in the text.
  599.  
  600. Chapter 11 - NESTED.C     *** STACK OVERFLOW ***
  601.              This message occurs during running of the program
  602.              due to a lack of stack space because nearly every
  603.              C compiler defaults to a stack size of 2048 bytes.
  604.              To fix it, change the LINK call to
  605.                  LINK %1 /STACK:4000;
  606.              for this program only.
  607.  
  608. Chapter 11  UNION1.C    The bytes have ff in high order bits if
  609.             the MSB of the byte is on.  Refer to text about this.
  610.  
  611. Chapter 13  BITOPS.C    The bytes have ff in high order bits if
  612.             the MSB of the byte is on.
  613.  
  614. Chapter 14  All programs   Change to the "classical" method of
  615.             function definitions.
  616.  
  617. Chapter 14  LIST.C & LISTF.C   Removing all references to the print
  618.             file pointer "print_file_point" and using the standard
  619.             predefined pointer "stdprn" for all print operations
  620.             causes immediate print rather than bufferred print. The
  621.             LIST.EXE on the distribution disk uses the standard
  622.             pointer.  The method of printing in the files is used
  623.             by most C compilers, but the standard method may be a
  624.             part of the upcoming ANSI standard.
  625.  
  626. Chapter 14  VC.C, FILE.C, DATA.C, VIDEO.C, and STRUCT.DEF
  627.             Remove all references to "prtfile" and use "stdprn" in
  628.             lines 123 and 135 of VC.C and in line 170 of FILE.C to
  629.             cause immediate printing instead of delayed buffered
  630.             printing.  The VC.EXE on the distribution disk was done
  631.             this way and was compiled with the MS 3.00 C compiler.
  632.             You can use the files as is if you don't mind the funny
  633.             printing method.
  634.  
  635. Note;  To link VC.EXE use  link vc+data+file+video;
  636.  
  637.  
  638.  
  639. ******************** Microsoft Version 4.00 *************************
  640.    Microsoft Corporation
  641.    Box 97017
  642.    Redmond, WA 98073
  643.  
  644.    (recommended setup)
  645. Exactly as listed in the manual - The documentation for this compiler
  646. is very clear, and if you follow the instructions as given by Micro-
  647. soft, you will have no problem configuring your system.
  648.  
  649.    (start of batch file used )
  650. IF EXIST %1 GOTO NOEXT
  651. EDIT %1.C
  652. MSC %1;
  653. IF ERRORLEVEL 1 GOTO ERROR
  654. LINK /CO %1;
  655. IF ERRORLEVEL 1 GOTO ERROR
  656. %1
  657. PAUSE
  658. ERASE %1.EXE
  659. ERASE %1.OBJ
  660. ERASE %1.BAK
  661. GOTO DONE
  662.  
  663. :NOEXT
  664. REM DO NOT INCLUDE THE .C EXTENSION
  665. PAUSE
  666. GOTO DONE
  667.  
  668. :ERROR
  669. REM COMPILE OR LINK ERROR FOUND
  670. PAUSE
  671.  
  672. :DONE
  673.    ( end of batch file )
  674.  
  675. Note; The above batch file assumes a hard disk is being used.
  676.  
  677.  
  678.  
  679.  
  680. Required changes for use with Microsoft C ver 4.0
  681.  
  682. Chapter 5 - SCOPE.C  This compiler does not support the "modern"
  683.             method of function definition.  Remove the reserved
  684.             word "void" from within the parentheses in lines
  685.             26, 34, and 44.
  686.  
  687. Chapter 5 - BACKWARD.C  This compiler does not support the "modern"
  688.             method of function definition.  Remove the variable names
  689.             from line 5 ans change line 18 to the "classical"
  690.             method of function definition.
  691.  
  692. Chapter 5 - FLOATSQ2.C  This compiler does not support the "modern"
  693.             method of function definition.  Ignore this file since
  694.             it is the same as FLOATSQ.C with "modern" function
  695.             definitions.
  696.  
  697. Chapter 6 - ENUM.C  You will get a warning that you can ignore.
  698.  
  699. Chapter 10 - READTEXT.C  Apparently the system clears the buffer
  700.              before reading into it, so it only outputs an extra
  701.              blank line instead of the word "lines." as described
  702.              in the text.
  703.  
  704. Chapter 11 - NESTED.C     *** STACK OVERFLOW ***
  705.              This message occurs during running of the program
  706.              due to a lack of stack space because nearly every
  707.              C compiler defaults to a stack size of 2048 bytes.
  708.              To fix it, change the LINK call to
  709.                  LINK /CO %1 /STACK:4000;
  710.              for this program only.
  711.  
  712. Chapter 11  UNION1.C    The bytes have ff in high order bits if
  713.             the MSB of the byte is on.  Refer to text about this.
  714.  
  715. Chapter 13  BITOPS.C    The bytes have ff in high order bits if
  716.             the MSB of the byte is on.
  717.  
  718. Chapter 14  LIST.C & LISTF.C   Removing all references to the print
  719.             file pointer "print_file_point" and using the standard
  720.             predefined pointer "stdprn" for all print operations
  721.             causes immediate print rather than bufferred print. The
  722.             LIST.EXE on the distribution disk uses the standard
  723.             pointer.  The method of printing in the files is used
  724.             by most C compilers, but the standard method may be a
  725.             part of the upcoming ANSI standard.
  726.  
  727. Chapter 14  VC.C, FILE.C, DATA.C, VIDEO.C, and STRUCT.DEF
  728.             Remove all references to "prtfile" and use "stdprn" in
  729.             lines 123 and 135 of VC.C and in line 170 of FILE.C to
  730.             cause immediate printing instead of delayed buffered
  731.             printing.  The VC.EXE on the distribution disk was done
  732.             this way and was compiled with the MS 3.00 C compiler.
  733.             You can use the files as is if you don't mind the funny
  734.             printing method.
  735.  
  736. Note;  To link VC.EXE use  link vc+data+file+video;
  737.  
  738.  
  739.  
  740. ******************** Microsoft Version 5.00 *************************
  741.    Microsoft Corporation
  742.    Box 97017
  743.    Redmond, WA 98073
  744.  
  745.    (recommended setup)
  746. Exactly as listed in the manual - The documentation for this compiler
  747. is very clear, and if you follow the instructions as given by Micro-
  748. soft, you will have no problem configuring your system.
  749.  
  750.    (start of batch file used )
  751. EDIT %1.C
  752. CL /Zi /Od %1.C
  753. IF ERRORLEVEL 1 GOTO ERROR
  754. %1
  755. PAUSE
  756. ERASE %1.EXE
  757. ERASE %1.OBJ
  758. ERASE %1.MAP
  759. ERASE %1.BAK
  760. GOTO DONE
  761.  
  762. :ERROR
  763. REM COMPILE OR LINK ERROR FOUND
  764. PAUSE
  765.  
  766. :DONE
  767.    ( end of batch file )
  768.  
  769. Note; The above batch file assumes a hard disk is being used.
  770.  
  771.  
  772. Required changes for use with Microsoft C ver 5.00
  773.  
  774. Chapter 10 - READTEXT.C  Apparently the system clears the buffer
  775.              before reading into it, so it only outputs an extra
  776.              blank line instead of the word "lines." as described
  777.              in the text.
  778.  
  779. Chapter 11 - NESTED.C     *** STACK OVERFLOW ***
  780.              This message occurs during running of the program
  781.              due to a lack of stack space because this compiler
  782.              defaults to a stack size of 2048 bytes.
  783.              To fix it, use these commands;
  784.  
  785.              C>CL /c NESTED.C
  786.              C>LINK NESTED /STACK:4000;
  787.              C>NESTED
  788.  
  789. Chapter 11  UNION1.C    The bytes have ff in high order bits if
  790.             the MSB of the byte is on.  Refer to text about this.
  791.  
  792. Chapter 13  BITOPS.C    The bytes have ff in high order bits if
  793.             the MSB of the byte is on.
  794.  
  795. Note; None of the programs in chapter 14 have been compiled with
  796.       this compiler.
  797.  
  798. *************  Microsoft Quick-C version 1.00  ********************
  799.    Microsoft Corporation
  800.    Box 97017
  801.    Redmond, WA 98073
  802.  
  803. Required changes for use with Microsoft Quick-C ver 1.0
  804.  
  805. Chapter 10 - READTEXT.C  Apparently the system clears the buffer
  806.              before reading into it, so it only outputs an extra
  807.              blank line instead of the word "lines." as described
  808.              in the text.
  809.  
  810. Chapter 11 - NESTED.C     *** STACK OVERFLOW ***
  811.              This message occurs during linking of the program
  812.              due to a lack of stack space because this compiler
  813.              defaults to a stack size of 2048 bytes.  To fix it,
  814.              leave the Integrated Environment and use the foll-
  815.              owing lines to compile, link, and run;
  816.  
  817.              C>QCL NESTED.C /LINK /STACK:4000
  818.              C>NESTED
  819.  
  820. Chapter 11  UNION1.C    The bytes have ff in high order bits if
  821.             the MSB of the byte is on.  Refer to text about this.
  822.  
  823. Chapter 13  BITOPS.C    The bytes have ff in high order bits if
  824.             the MSB of the byte is on.
  825.  
  826.  
  827. Chapter 14  All files   These files were not compiled with this
  828.             compiler, but should not require much work, if any,
  829.             to compile since they follow the ANSI standard very
  830.             closely as does this compiler.
  831.  
  832.  
  833. ***************** Mix C ver 1.0.0 *********************************
  834.    Mix Software
  835.    1132 Commerce Drive
  836.    Richardson, TX 75081
  837.  
  838.       (suggested floppy disk setup)
  839.    Contents of drive A
  840. COMMAND.COM
  841. CCL.BAT           (As listed below)
  842. EDIT.BAT          (Your editor, whatever you use)
  843. STDIO.H           (copied from STDIO on dist disk)
  844. RUNTIME.OVY       (From your distribution disk)
  845. SMALCOM.OVY       (From your distribution disk)
  846. CLIB.MIX          (From your distribution disk)
  847. *.C               (The files you wish to compile)
  848.  
  849.    Contents of drive B
  850. Exact copy of your MIX distribution disk
  851.  
  852.    (start of batch file used)
  853. REM MIX C COMPILER
  854. REM THE NEXT LINE CALLS WHATEVER FULL SCREEN EDITOR YOU USE
  855. EDIT %1.C
  856. B:CC %1
  857. B:LINKER %1
  858. %1
  859.    (End of batch file used)
  860.  
  861. Note; The following problems were noted when compiling the files
  862.       in chapters 1 to 13 with this compiler.  The files in
  863.       chapter 14 were not compiled with this compiler.
  864.  
  865. Chapter 9 - SINGLEIO.C  The system supplies a linefeed for you
  866.             so it doesn't quite work like the book says.
  867.  
  868. Chapter 9 - BETTERIN.C  The system supplies a linefeed for you
  869.             so it doesn't quite work like the book says.
  870.  
  871. Chapter 13 - CHARCLAS.C  Remove #include "ctype.h" from program.
  872.  
  873. Chapter 13 - UPLOW.C  Remove #include "ctype.h" from program.
  874.  
  875. In addition, ENUM.C, BITFIELD.C, and all of the programs with
  876. prototyping may or may not work.  We have no way to check since
  877. we have lost our copy of this compiler and we need to release
  878. this update of the tutorial.
  879.  
  880.